package com.mi.million.module.system.service;


import com.mi.million.common.util.BaseService;
import com.mi.million.mybatis.entity.SysMenu;
import com.mi.million.mybatis.entity.SysResource;
import com.mi.million.mybatis.entity.SysRole;
import com.mi.rule.util.project.SRS;

import java.util.List;

/**
 * <p>
 * 角色相关 服务类
 * </p>
 *
 * @author 王永吉
 */
public interface RoleService extends BaseService {

    /**
     * 修改角色资源
     */
    SRS updateRoleResource(SRS param);

    /**
     * 修改角色菜单
     */
    SRS updateRoleMenu(SRS param);

    //角色列表
    List<SysRole> roles();

    //角色菜单Urls
    List<String> roleMenuUrls(Object roleId);

    List<String> roleMenuIds(String roleId);

    //角色菜单List
    List<SysMenu> roleMenuList(String roleId);

    List<SysMenu> roleMenuList(List<?> roleIds);

    //角色资源Urls
    List<String> roleResourceUrls(Object roleId);

    //角色资源Urls
    List<String> roleResourceIds(String roleId);

    List<String> roleResourceUrls2(List<?> roleIds);

    //角色资源List
    List<SysResource> roleResourceList(String roleId);

    //角色资源List
    List<SysResource> roleResourceList(List roleIds);

    SRS insertSysRole(SysRole role);

    SRS deleteSysRole(Object[] ids);

    SRS updateSysRole(SRS role);

    SRS pageSysRole(SRS param);

    SRS listSysRole(SRS param);

    SRS infoSysRole(SRS param);
}
